Міністерство освіти і науки України
Національний університет „Львівська Політехніка”
Кафедра ЕОМ
Звіт
про виконання лабораторної роботи № 3
з курсу „Основи алгоритмізації та програмування”
Тема: Розв'язання найпростіших задач із використанням
процедур вводу-виводу.
Виконано:
стдент групи КІ-14
Сорокевич М.І.
Перевірено:
Ногаль М.В.
Львів – 2003
МЕТА РОБОТИ: 1. Освоєння найпростішої структури програми.
2. Отримання основних навиків організації вводу-виводу значень стандартних типів даних та використання оператора присвоєння.
Теоретичні відомості
Оператор присвоювання
У Паскалi цей оператор позначається знаком ":=". Ця група символiв сприймається компiлятором як єдине цiле. При виконаннi оператора присвоювання спочатку обчислюється значення виразу, який стоїть у правiй частинi оператора (пiсля знаку :=), а потiм його значення присвоюється змiннiй, що стоїть у лiвiй частинi. При цьому тип виразу повинен вiдповiдати типу змiнної. Для стандартних типiв це означає, що типи повиннi спiвпадати. Дозволяється присвоювання змiннiй дiйсного типу (Real) виразiв, значення яких є цiлим (Integer).
В результатi виконання оператора присвоювання змiннiй присвоюється значення деякого виразу. Прикладами операторiв присвоювання є:
a:=0 b:=c x1:=(-b+sqrt(sqr(b)-4*a*c))/(2*a) x:=x+1
В першому випадку змiннiй a присвоюється значення 0. У другому випадку змiнна b набуває значення змiнної c. Третiй оператор присвоювання присвоює змiннiй x1 значення виразу, що стоїть справа. Останнiй з вищенаведених операторiв присвоює змiннiй x попереднє значення, збiльшене на одиницю. Якщо до виконання оператора x:=x+1 змiнна x мала значення 1.3, то пiсля виконання цього оператора значення x стане рiвним 2.3. Для того, щоб оператор присвоювання мiг бути виконаний, необхiдно, щоб всi змiннi, якi входять у вираз, мали деякi значення.
Оператори вводу
Ввiд/вивiд пов'язаний з обмiном iнформацiєю мiж оперативною пам'яттю та зовнiшнiми носiями iнформацiї. В авторському Pascal зокрема не iснує спецiальних операторiв вводу-виводу. Для обмiну iнформацiєю з навколишнiм середовищем у програмах, написаних на мовi TurboPascal, використовуються спецiальнi стандартнi процедури (процедура - це один з видiв пiдпрограм). До процедур, якi забезпечують ввiд iнформацiї належать:
READ, READLN.
Процедури READ, READLN належать до стандартних чи вбудованих процедур мови Pascal. Стандартнi процедури не потребують попереднього опису; вони доступнi будь-якiй програмi, в якiй є звернення до них. Рiзниця мiж оператором вводу та звертанням до процедури вводу полягає в тому, що iм'я процедури вводу, як i будь-якої iншої процедури середовища TurboPascal, не є зарезервованим словом, а отже, користувач може написати свою власну процедуру з iм'ям READ чи READLN.
Розглянемо структуру оператора (надалi процедури вводу будемо називати операторами). Оператор вводу складається з iдентифiкатора READ(Read - вiд англ. читати) та списку змiнних, якi записуються в круглих дужках пiсля самого оператора.
Приклад: READ(A,ki-14,Lobur_M)
READLN(A)
READLN(Skriabin)
READ(X,Y,Z)
Як видно, число змiнних у дужках може бути довiльним: якщо змiнних є декiлька, то вони роздiляються комами. При виконаннi оператора вводу змiнним у дужках присвоюються введенi значення. Нехай на клавiатурi набрано число 3.6, тоді у результатi виконання оператора READ(a) змiнна a набуде значення 3.6. Аналогiчно оператор READ(x1,x2,y) зможе бути виконаний, коли на клавiатурi будуть набранi три числа, роздiленi пробiлами.
Оператор READLN (скорочення вiд READLine - ввести рядок) виконує аналогiчнi дiї, що й оператор READ. Але на вiдмiну вiд оператора READ, READLN пiсля закiнчення вводу переводить курсор на початок наступного рядка. Тобто наступний оператор вводу буде здійснювати ввід даних з початку наступного рядка.
Ввiд можна здiйснювати як за допомогою оператора READ, так i READLN. Наприклад, потрiбно здiйснити ввiд 4-x змiнних: A,B,D,T.
Var
A,B,D,T:real;
Begin
........
READ(A,B,D,T);
........
End.
Var
A,B,D,T:real;
Begin
........